/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.aspas.beans;

import br.com.aspas.modelo.Lancamento;
import br.com.aspas.modelo.Movimentacao;
import br.com.aspas.modelo.StatusLancamento;
import br.com.aspas.persistencia.LancamentoDao;
import br.com.aspas.persistencia.MovimentacaoDao;
import java.util.ArrayList;
import java.util.Iterator;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;

/**
 *
 * @author kerber
 */
public class LancamentoBean {

    private Lancamento lancamento;
    private LancamentoDao lancamentoDao;
    private ArrayList<SelectItem> listLancamentos;
    private ArrayList<SelectItem> listMovimentacao;
    private MovimentacaoDao movimentacaoDao;
    

    public LancamentoBean() {
        lancamento = new Lancamento();
        lancamento.setMovimentacao(new Movimentacao());
        lancamento.setStatusLancamento(new StatusLancamento());
        lancamentoDao = new LancamentoDao();
        listLancamentos = new ArrayList<SelectItem>();
        listMovimentacao = new ArrayList<SelectItem>();
        movimentacaoDao = new MovimentacaoDao();



    }

    public Lancamento getLancamento() {
        return lancamento;
    }

    public void setLancamento(Lancamento lancamento) {
        this.lancamento = lancamento;
    }

    public ArrayList<SelectItem> getListLancamentos() {

        listLancamentos = (ArrayList) lancamentoDao.findAllLancamento();


        return listLancamentos;
    }

    public void setListLancamentos(ArrayList<SelectItem> listLancamentos) {
        this.listLancamentos = listLancamentos;
    }

    public ArrayList<SelectItem> getListMovimentacao() {
        listMovimentacao = new ArrayList<SelectItem>();

        ArrayList<Movimentacao> list = (ArrayList) movimentacaoDao.findAllMovimentacao();
        for (Iterator it = list.iterator(); it.hasNext();) {
            {
                Movimentacao movimentacao = (Movimentacao) it.next();
                SelectItem item = new SelectItem();
                item.setLabel(movimentacao.getNome());
                System.out.println("testando list movimentacao" + movimentacao.getNome());
                item.setValue(movimentacao.getCodigo());
                listMovimentacao.add(item);
            }

        }
        return listMovimentacao;
    }

    public void setListMovimentacao(ArrayList<SelectItem> listMovimentacao) {
        this.listMovimentacao = listMovimentacao;
    }

    public String inserir() {
        
        
        if(lancamento.getCodigo() != null){
            lancamentoDao.altera(lancamento);
            lancamento = new Lancamento();
        }else{
        lancamentoDao.inserir(lancamento);
        lancamento = new Lancamento();
        }

        return null;
    }
    public String atualizar(){

        lancamento = lancamentoDao.findByPk(lancamento.getCodigo());
        

        return null;
    }

    public String excluir() {

        lancamentoDao.remove(lancamento.getCodigo());

        return null;
    }

    public String sessionOut(){
        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove("LancamentoBean");
        return "lanc";
    }
}
